import wx from 'weixin-js-sdk'
import ajax from './ajax/public'

const wxApi = {
  /**
   * [wxRegister 微信Api初始化]
   * @param  {Function} callback [ready回调函数]
   */
  wxRegister(callback, url) {
    let config = {};
    ajax.doAction({
      url: '/wechat/shareConfig',
      type: 'POST',
      async: false,
      items: {reqUrl: url},
      successCallback: (res) => {
        // console.log(res)
        config = res.data // PS: 这里根据你接口的返回值来使用
      },
      errorCallback: (error) => {
        console.log(error)
      }
    })
    // console.log(config)
    wx.config({
      debug: config.debug, // 开启调试模式
      appId: config.appId, // 必填，公众号的唯一标识
      timestamp: config.timestamp, // 必填，生成签名的时间戳
      nonceStr: config.nonceStr, // 必填，生成签名的随机串
      signature: config.signature, // 必填，签名，见附录1
      jsApiList: config.jsApiList // 必填，需要使用的JS接口列表，所有JS接口列表见附录2
    });
    wx.ready((res) => {
      // 如果需要定制ready回调方法
      if (callback) {
        callback()
      }
    })
  },
  /**
   * [ShareTimeline 微信分享到朋友圈]
   * @param {[type]} option [分享信息]
   * @param {[type]} success [成功回调]
   * @param {[type]} error   [失败回调]
   */
  ShareTimeline(option) {
    wx.updateTimelineShareData({
      title: '我在正在看【' + option.title + '】', // 分享标题
      link: option.link, // 分享链接
      imgUrl: option.imgUrl, // 分享图标
      success() {
        // 用户成功分享后执行的回调函数
        option.success()
      },
      cancel() {
        // 用户取消分享后执行的回调函数
        option.error()
      }
    })
  },
  /**
   * [ShareAppMessage 微信分享给朋友]
   * @param {[type]} option [分享信息]
   * @param {[type]} success [成功回调]
   * @param {[type]} error   [失败回调]
   */
  ShareAppMessage(option) {
    wx.updateAppMessageShareData({
      title: '我在正在看【' + option.title + '】', // 分享标题
      desc: '动态图谱大师班邀请您一起学习【' + option.title + '】', // 分享描述
      link: option.link, // 分享链接
      imgUrl: option.imgUrl, // 分享图标
      success() {
        // 用户成功分享后执行的回调函数
        option.success()
      },
      cancel() {
        // 用户取消分享后执行的回调函数
        option.error()
      }
    })
  }
}
export default wxApi
